用 OpenSSL 做自签CA证书 笔记

用 OpenSSL 做自签CA证书 笔记

记录一下怎么自己用OpenSSL制作一个属于自己的CA证书󠄐󠄹󠅀󠄪󠄡󠄨󠄞󠄡󠄡󠄩󠄞󠄡󠄤󠄠󠄞󠄥󠄨󠄬󠅒󠅢󠄟󠄮󠄐󠅅󠄹󠄴󠄪󠄾󠅟󠅤󠄐󠄼󠅟󠅗󠅙󠅞󠄬󠅒󠅢󠄟󠄮󠅄󠅙󠅝󠅕󠄪󠄡󠄧󠄤󠄧󠄥󠄤󠄩󠄡󠄤󠄧󠄬󠅒󠅢󠄟󠄮󠇕󠅰󠆖󠇖󠅴󠅿󠇕󠅽󠆊󠇕󠆞󠆒󠄐󠇗󠅹󠅸󠇖󠆍󠅳󠇖󠅹󠅰󠇖󠆌󠅹󠄬󠅒󠅢󠄟󠄮

图片[1]-用 OpenSSL 做自签CA证书 笔记-倦意博客

OpenSSL下载:

官方发布地址:https://slproweb.com/products/Win32OpenSSL.html

[官方链接] [本地分流]

将OpenSSL安装目录下bin文件夹部署到环境变量,如:󠄐󠄹󠅀󠄪󠄡󠄨󠄞󠄡󠄡󠄩󠄞󠄡󠄤󠄠󠄞󠄥󠄨󠄬󠅒󠅢󠄟󠄮󠄐󠅅󠄹󠄴󠄪󠄾󠅟󠅤󠄐󠄼󠅟󠅗󠅙󠅞󠄬󠅒󠅢󠄟󠄮󠅄󠅙󠅝󠅕󠄪󠄡󠄧󠄤󠄧󠄥󠄤󠄩󠄡󠄤󠄧󠄬󠅒󠅢󠄟󠄮󠇕󠅰󠆖󠇖󠅴󠅿󠇕󠅽󠆊󠇕󠆞󠆒󠄐󠇗󠅹󠅸󠇖󠆍󠅳󠇖󠅹󠅰󠇖󠆌󠅹󠄬󠅒󠅢󠄟󠄮

如:C:\Program Files\OpenSSL-Win64\bin 部署到环境变量Path中

制作过程:

打开命令行CMD:

输入cd + 空格 + 您要放CA证书的目录󠄐󠄹󠅀󠄪󠄡󠄨󠄞󠄡󠄡󠄩󠄞󠄡󠄤󠄠󠄞󠄥󠄨󠄬󠅒󠅢󠄟󠄮󠄐󠅅󠄹󠄴󠄪󠄾󠅟󠅤󠄐󠄼󠅟󠅗󠅙󠅞󠄬󠅒󠅢󠄟󠄮󠅄󠅙󠅝󠅕󠄪󠄡󠄧󠄤󠄧󠄥󠄤󠄩󠄡󠄤󠄧󠄬󠅒󠅢󠄟󠄮󠇕󠅰󠆖󠇖󠅴󠅿󠇕󠅽󠆊󠇕󠆞󠆒󠄐󠇗󠅹󠅸󠇖󠆍󠅳󠇖󠅹󠅰󠇖󠆌󠅹󠄬󠅒󠅢󠄟󠄮

创造一个根CA Key:

openssl genrsa -out cakey.key 4096

此时你的文件夹内将出现cakey.key文件

根据上一个根CA Key生成一个CA证书

openssl req -new -x509 -days 14610 -key cakey.key -out cacert.crt

参考内容如下,根据你的需求修改:

# openssl req -new -x509 -days 14610 -key cakey.key -out cacert.crt
...
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:JiangXi
Locality Name (eg, city) [Default City]:NanChang
Organization Name (eg, company) [Default Company Ltd]:JuanYiBlog Technology Co. Ltd.
Organizational Unit Name (eg, section) []:JuanYi Root CA Trust
Common Name (eg, your name or your server's hostname) []:JuanYi Root CA - R1
Email Address []:admin@jyblog.cn

此时你的文件夹内将出现cacert.crt文件

查看根CA证书是否生成

openssl x509 -in cacert.crt -noout -text

根据根CA证书生成一个名为jyblog.cn的二级CA私钥

openssl genrsa -out jyblog.cn.key 2048

此时你的文件夹内将出现jyblog.cn.key文件

根据将二级CA 私钥 生成一个二级CA 公钥:

openssl req -new -days 3650 -key jyblog.cn.key -out jyblog.cn.csr

参考内容如下,根据你的需求修改:

Common Name 一定要填写你的网站域名,Challenge Password不填

openssl req -new -days 3650 -key jyblog.cn.key -out jyblog.cn.csr

-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:JiangXi
Locality Name (eg, city) []:NanChang
Organization Name (eg, company) [Internet Widgits Pty Ltd]:JYBlog Co.Ltd
Organizational Unit Name (eg, section) []:JY
Common Name (e.g. server FQDN or YOUR name) []:*.jyblog.cn
Email Address []:admin@jyblog.cn

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

此时你的文件夹内将出现jyblog.cn.csr文件

生成一个二级CA证书 :

openssl x509 -req -days 3650 -in jyblog.cn.csr -CA cacert.crt -CAkey cakey.key -CAcreateserial -out jyblog.cn.crt

此时你的文件夹内将出现jyblog.cn.crt文件

生成证书链:

Windows:

type jyblog.cn.crt cacert.crt > fullchain.pem

Linux:

cat jyblog.cn.crt cacert.crt > fullchain.pem

执行到这一步,你已经完整的制作出一个自签的CA证书!

证书链(PEM)为:fullchain.pem

密钥(Key)为 :jyblog.cn.key

其他内容:

验证证书合法性:

openssl verify -CAfile fullchain.pem jyblog.cn.crt

OCSP验证:

需要的确是某个CA颁发的证书,自签CA不支持OCSP验证󠄐󠄹󠅀󠄪󠄡󠄨󠄞󠄡󠄡󠄩󠄞󠄡󠄤󠄠󠄞󠄥󠄨󠄬󠅒󠅢󠄟󠄮󠄐󠅅󠄹󠄴󠄪󠄾󠅟󠅤󠄐󠄼󠅟󠅗󠅙󠅞󠄬󠅒󠅢󠄟󠄮󠅄󠅙󠅝󠅕󠄪󠄡󠄧󠄤󠄧󠄥󠄤󠄩󠄡󠄤󠄧󠄬󠅒󠅢󠄟󠄮󠇕󠅰󠆖󠇖󠅴󠅿󠇕󠅽󠆊󠇕󠆞󠆒󠄐󠇗󠅹󠅸󠇖󠆍󠅳󠇖󠅹󠅰󠇖󠆌󠅹󠄬󠅒󠅢󠄟󠄮

openssl ocsp -issuer fullchain.pem -cert jyblog.cn.crt -text -url http://ocsp.sectigo.com -header "Host=ocsp.sectigo.com"

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容